Software tools are frequently used in the design of analog, mixed-signal and custom digital circuits. In front-end design-for-yield, designers must choose device sizes such that the maximum possible percentage of manufactured chips meet all specifications (i.e., the designers aim at maximizing yield). In order to effectively design such circuits, designers need insights into the design that are not necessarily apparent from the circuit schematic alone. Designers tend to receive added insights into the circuit design by viewing visual representations of the circuit topology, as a “schematic”. Currently, there are schematic editors/viewers for viewing circuit schematics. There are also tools for circuit sampling and characterization, with corresponding visualizations.
Sampling tools report information such as, amongst others, yield estimate for a given design point, histograms for each performance metric, two-dimensional (2D) and three-dimensional (3D) scatter plots, where variables can include performance metrics, design variables, environmental variables, and process variables.
Characterization tools provide further information, such as, for example, relative impact of design variables on yield, relative impact of design variables on a given performance metric, relative impact of all design variables vs. all process variables vs. all environmental variables, tradeoffs of yield vs. performances, yield value for a sweep of a design variable, etc. This type of information has value in terms of: (a) verifying hypotheses about the electrical circuit; (b) aiding intuition; (c) uncovering new knowledge; and (d) providing new perspectives leading to fresh thinking. For circuit design this translates to more effective designers, higher yield, better performing designs, and faster time-to-market.
Such sampling and characterization tools typically involve steps of: (1) gathering circuit simulation data (e.g., from Simulation Programs with Integrated Circuit Emphasis—SPICE); (2) processing the circuit simulation data (e.g. by doing statistical calculations, data-mining/model-building, etc.); and (3) presenting raw processed results to a user (e.g., through a visual display).
While such sampling and characterization tools have great benefit, they also have drawbacks. First, there is a time lag of hours (or even days) between the user starting a sampling/characterization run and seeing the final results. This is due to the time it takes to do a sufficient number of circuit simulations and, for example, in the case of a characterization run, to build sufficiently accurate data-mining models that can be presented. A further drawback is that it can be difficult to predict how much runtime is needed in order to get a desired quality of information. An additional drawback is that if the initial setup of the sampling/characterization run has been done improperly, such that a whole re-run is needed, the user does not find out until the run is over, which leads to considerable lost time. Furthermore, the final results obtained by sampling/characterization run have some related uncertainty simply because the models have to work with a limited amount of data. However, current sampling and characterization tools are not adapted to display uncertainties. This can have unfortunate consequences, for example in the case of reporting the relative impact on yield of an electrical circuit variable. If just the expected impact is shown, then the user may perceive false positives or false negatives. That is, variables that shouldn't have any impact are shown has having some, and variables that should have impact appear to have none.
Therefore, if is desirable to provide a method and system that allows to statistically evaluate, analyze and/or optimize an electrical circuit design (ECD) by determining characteristic values of the ECD and by determining a statistical uncertainty of the characteristic values.
Further, it is desirable to display to the user the characteristic values of the ECD and the statistical uncertainty of the characteristic values, and to update the characteristic values of the ECD and the statistical uncertainty of the characteristic values, as the statistical evaluation of the ECD is taking place.